#ifndef HERM_UTILS_EXCEPTION_H
#define HERM_UTILS_EXCEPTION_H

#include <sstream>
#include "herm/export_symbols.h"

namespace herm{

class HERM_API Exception
{
public:
	Exception(const std::string& file, int line, const std::string& func, 
		int type = 0, int code = 0, const std::string& desc = "error");
	virtual ~Exception(){}
	virtual std::string Desc() const;
	virtual int Type() const;
	virtual int Code() const;
private:
	std::string m_desc;
	int m_type;
	int m_code;
};
} // end namespace herm{

#endif // end #ifndef HERM_UTILS_EXCEPTION_H
